package com.office.stacks.circumstance.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 任务情况对象 tasks
 *
 * @author 柒月
 * @date 2025-05-24
 */
public class Circumstance extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 被邀请的用户id
     */
    private Long userId;

    /**
     * 数据库主键
     */
    private Long id;

    /**
     * 接受人id
     */
    private Long recipient;

    /**
     * 任务标题
     */
    @Excel(name = "任务标题")
    private String title;

    /**
     * 任务描述
     */
    @Excel(name = "任务描述")
    private String description;

    /**
     * 发布人id
     */
    private Long publisherId;

    @Excel(name = "被邀请的用户名称")
    private String nickName;

    @Excel(args = "被邀请人电话")
    private String phonenumber;

    @Excel(name = "性别")
    private Integer sex;

    /**
     * 部门Id
     */
    private Long deptId;

    @Excel(name = "部门名称")
    private String deptName;

    @Excel(name = "岗位名称")
    private String postName;

    /**
     * 接收者id
     */
    private Long recipientId;

    /**
     * 完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date accomplishTime;

    /**
     * 任务状态
     */
    @Excel(name = "任务状态")
    private Long status;

    /**
     * 前端开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginCreateTime;

    /**
     * 前端结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endCreateTime;


    /**
     * 文件id
     */
    private Long fileId;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 文件url
     */
    private String url;

    /**
     * 原始文件名
     */
    private String originalName;

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getOriginalName() {
        return originalName;
    }

    public void setOriginalName(String originalName) {
        this.originalName = originalName;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setPublisherId(Long publisherId) {
        this.publisherId = publisherId;
    }

    public Long getPublisherId() {
        return publisherId;
    }

    public void setRecipientId(Long recipientId) {
        this.recipientId = recipientId;
    }

    public Long getRecipientId() {
        return recipientId;
    }

    public void setAccomplishTime(Date accomplishTime) {
        this.accomplishTime = accomplishTime;
    }

    public Date getAccomplishTime() {
        return accomplishTime;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public Long getStatus() {
        return status;
    }

    public String getDeptName() {
        return deptName;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Long getRecipient() {
        return recipient;
    }

    public Date getBeginCreateTime() {
        return beginCreateTime;
    }

    public void setBeginCreateTime(Date beginCreateTime) {
        this.beginCreateTime = beginCreateTime;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Date getEndCreateTime() {
        return endCreateTime;
    }

    public void setEndCreateTime(Date endCreateTime) {
        this.endCreateTime = endCreateTime;
    }

    public void setRecipient(Long recipient) {
        this.recipient = recipient;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public Long getUserId() {
        return userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
}
